---
title: 國際化
---

<Callout type="warning" title="注意事項">
  並非所有外掛都內含語系檔，我們會在各功能文件中加以說明。
</Callout>

## `mergeLocales` 方法 [#mergeLocales]

`mergeLocales` 用來將多個外掛或預設（preset）的語系物件合併成一個完整的語系物件。使用方式如下：

<Tabs items={['預設模式', '外掛模式']}>
  <Tab>
    ```typescript
    import { mergeLocales } from '@univerjs/presets'

    // 你可以直接傳入多個語系物件
    const locales = mergeLocales(
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    )
    // 也可以傳入語系物件陣列
    const locales = mergeLocales([
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    ])
    ```
  </Tab>
  <Tab>
    ```typescript
    import { mergeLocales } from '@univerjs/core'

    // 你可以直接傳入多個語系物件
    const locales = mergeLocales(
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    )
    // 也可以傳入語系物件陣列
    const locales = mergeLocales([
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    ])
    ```
  </Tab>
</Tabs>

## 自訂語系檔

Univer 亦支援自行定義語系。你可以依需求組裝語系物件並傳入 `Univer` 實例。可供參考的預設語系檔一般放在 `<rootDir>/packages/<PLUGIN_NAME>/locale` 目錄下。

```typescript
const univer = new Univer({
  locale: 'ja-JP',
  locales: {
    'ja-JP': {
      shortcut: {
        undo: '元に戻す',
        redo: 'やり直す',
      },
    },
  },
})
```

## 貢獻語系

Univer 目前提供以下內建語系：

- `zh-CN`：簡體中文
- `en-US`：英文
- `zh-TW`：繁體中文（臺灣）
- `ru-RU`：俄文
- `vi-VN`：越南文
- `fa-IR`：波斯文
- `fr-FR`：法文
- `ko-KR`：韓文
- `es-ES`：西班牙文

其他語言尚未支援。歡迎各地開發者協助新增或改進語系。
